package com.mt.mall.service.good;

import com.mt.common.core.web.base.PageDTO;
import com.mt.common.core.web.base.PageResultDTO;
import com.mt.mall.entity.good.Collect;

import java.util.List;

public interface CollectService {
    /**
     * 根据分页参数查询收藏集合
     *
     * @param pageDTO 分页条件
     */
    public PageResultDTO findCollects(PageDTO pageDTO);

    /**
     * 查询全部收藏集合
     *
     */
    public List<Collect> findAllCollects();

    /**
     * 根据名称查询收藏集合(只提取ID 和 Name)
     *
     * @param collectName 名称
     */
    public List<Collect> findCollectsWithIdNameByName(String collectName);

    /**
     * 查询所有收藏集合(只提取ID 和 Name)
     *
     */
    public List<Collect> findAllCollectsWithIdName();

    /**
     * 根据ID查询指定的收藏(只提取ID 和 Name)
     *
     * @param collectId Id
     */
    public Collect findCollectsWithIdNameById(Long collectId);

    /**
     * 根据ID查询指定的收藏
     *
     * @param collectId Id
     */
    public Collect findCollect(Long collectId);

    /**
     * 根据ID查询指定的收藏(包含外键)
     *
     * @param collectId Id
     */
    public Collect findCollectWithForeignName(Long collectId);

    /**
     * 新增收藏
     *
     * @param collect 实体对象
     */
    public Collect saveCollect(Collect collect);

    /**
     * 更新收藏
     *
     * @param collect 实体对象
     */
    public Collect updateCollect(Collect collect);

    /**
     * 根据ID删除收藏
     *
     * @param collectId ID
     */
    public void deleteCollect(Long collectId);
}
